package object;

/**
 * 方法重载练习
 */
public class MethodOverLoadExercise {

    public static void main(String[] args) {

        /*
            编写程序：
                1)类Method中定义三个重载方法并调用。方法名为m。三个方法分别接收一个int参数，两个int参数，一个字符串参数
                分别执行平方运算并输出结果，相乘并输出结果，输出字符串信息。在主类main()方法中分别用参数区别调用三个方法
                2)在Method类中，定义三个重载方法max()，第一个方法，返回两个int值中的最大值，第二个方法，返回两个double值中的最大值，
                第三个方法，返回三个double值中的最大值，并分别调用三种方法

         */
        Method method = new Method();
        method.m(3);
        method.m(3, 4);
        method.m("你好");
        int max1 = method.max(1, 2);
        System.out.println(max1);
        double max2 = method.max(1.0, 2.0);
        System.out.println(max2);
        double max3 = method.max(1.0, 2.0, 3.0);
        System.out.println(max3);
    }
}

class Method {

    public void m(int n) {
        int res =  n * n;
        System.out.println("调用m(int n),结果=" + res);
    }

    public void m(int n1, int n2) {
        int res = n1 * n2;
        System.out.println("调用m(int n1, int n2),结果=" + res);
    }

    public void m(String n) {
        System.out.println("调用m(String n),结果=" + n);
    }

    public int max(int n1, int n2) {
        return n1 > n2 ? n1 : n2;
    }

    public double max(double n1, double n2) {
        return n1 > n2 ? n1 : n2;
    }

    public double max(double n1, double n2, double n3) {
        return max(n1, max(n2, n3));
    }
}